<?php
// =======================================================================
// | 百捷PHP框架(BJPHP)
// | ---------------------------------------------------------------------
// | 许可协议Apache2 ( http://www.apache.org/licenses/LICENSE-2.0 )
// | 技术支持QQ群：276228406
// | 微信公众号  ：百捷网络
// | 官方网站    ：http://www.baijienet.com
// =======================================================================

return [
	//=== 缺省的能力提供者
	'vendor'	=>	[
		//=== http服务
		'http'		=>	'bjphp.vendor.http.Http',
		
		//=== 路由
		'router'	=>	'bjphp.vendor.router.Router',
		
		//=== 日志
		'log'		=>	'bjphp.vendor.log.Log',
		
		//=== 会话
		'session'	=>	'bjphp.vendor.session.Session',
		
		//=== 微信回调处理器
		'weixin'	=>	'bjphp.vendor.weixin.Callback',

		//=== feature代理类
		'feature_proxy'	=>	'bjphp.vendor.featureproxy.Proxy'
	],
	
	//=== 系统环境
	'system'	=>	[
		//系统初始化，静态函数集合
		'init'		=>	[
			'bjphp.vendor.session.Session.system_init',
		],
		
		//系统清理，静态函数集合
		'clean'		=>	[
			'bjphp.vendor.session.Session.system_clean'
		],

		//异常处理，根据err_type做不同处理
		'exception'	=>	[
			//用户自定义异常值，为避免跟系统冲突，建议大于0并且小于1000，或者大于10000
			//示例：
			//19=>'my_handler'
			
			//以下几个值是系统预占的
			//1024	=>	'登录处理',//原先 auth/login_handler中的配置挪到这里
			//1025	=>	'未授权时的处理',
			//1026	=>	'访问的页面文件存在，但没有处理方法。可能是非法访问'
			//1027	=>	'访问的网址有对应的文件，但没有对应的类，一般是编程不合框规范'
			//.... 其它自定义异常值等 
		],

		'api_enter'	=>[
			//eg. 'sys.api.enter'
		],

		'api_leave'	=>[
			//eg. 'sys.api.leave'
		]
	],

	//=== 缓存，支持多种缓存并存
	'cache'		=>	[
		//key为识别ID，value为缓存的配置参数。空字符串表示缺省缓存
		''	=>	[
			'type'		=>	'redis',	//缓存机制，支持：file radis memcache三种
			'server'	=>	'127.0.0.1',	//redis服务器地址
			'port'		=>	6379,		//redis端口
		],
		'filecache'	=>	[
			'type'	=>	'file',
			'path'	=>	INDEX_PATH . '/filecache',//缓存文件的根目录，需要有写的权限
		],
		'memcache'	=>	[
			'type'		=>	'memcache',
			'server'	=>	'127.0.0.1',
			'port'		=>	1114,
		]
	],
	
	//=== 验证，全部为静态方法！
	'auth'		=>	[
		//验证是否已登录
		'is_login'	=>	'feature.secure.Auth.isLogin',
		
		//验证是否有权限
		'has_right'	=>	'feature.secure.Auth.hasRight',
		
		//验证登录
		'login'		=>	'bjphp.vendor.secure.Auth.login',
		
		//超级管理员登录
		'super_login'	=>	'bjphp.vendor.secure.Auth.superLogin',
		
		//需要登录时的处理，如果有多个，则依次执行，只要有一个返回true，则跳过缺省的异常处理
		//此配置将取消，统一采用system/exception中的配置!!
		'login_handler'	=>	[]
	],

	//=== http重载
	'http'		=>	[
		'template'	=>	[
			'exception'	=>	CLASS_ROOT . '/bjphp/vendor/http/exception.html',
			'404'		=>	CLASS_ROOT . '/bjphp/vendor/http/404.html',
		]
	],

	//=== 框架级的配置[END] =====================================================================
	
	//=== 站点级的配置[BEGIN]====================================================================
	//跟当前站点有关的配置，可以修改，但必须提供。
	//这里的配置有可能被vendor用到！
	'site'		=>	[
		//站点ID，用于区别不同的站点。当多个站点共用同一个数据库配置时，此值必须提供
		'siteid'	=>	'mysite',

		//站点路径（完整的对外网址），请根据自己的实际网址修改此项
		'siteurl'	=>	'http://mysite.baijienet.com',
		
		//站点名称，有时需要一个站点名称或者产品名称，则可以用此处的值
		'sitename'	=>	'mysite',

		//站点类型，分为：pc pad mobile response(自适应)，缺省为pc
		'sitetype'	=>	'pc',
		
		//虚拟目录名，如果站点部署在虚拟目录下，则必须配置此项！非虚拟目录则请保留为空
		'vdname'	=>	'',
		
		//部署模式，可取值 debug:调试环境 test:测试环境 deploy:生产环境
		'mode'		=>	'debug',
		
		//超级管理员帐号和密码。如果配置为空，则等同于取消超级管理员功能
		'superadmin'	=>	[
			'name'		=>	'super',
			'pwd'		=>	'96e79218965eb72c92a549dd5a330112'
		],
	],
	//=== 站点级的配置[END]======================================================================
];
